In Jupyter Notebook run first

In [1]:
%run -i C:/Users/champ/Python_proj/base_financial_repo/Econometric_data_repo/meta_data/imports
%run -i C:/Users/champ/Python_proj/base_financial_repo/Econometric_data_repo/meta_data/API
%run -i C:/Users/champ/Python_proj/base_financial_repo/Econometric_data_repo/meta_data/global_vars_and_constants
%run -i C:/Users/champ/Python_proj/base_financial_repo/Econometric_data_repo/meta_data/functions
from plotly.offline import init_notebook_mode, iplot, plot
Ready to go !

Main

In [2]:
df_sec = update_securities_df(Securities_file_import_from_csv, update = False)

data_type='Adj Close'

df = df_sec
df = df.loc[(df['Type'] == 'sector') | (df['Type'] == 'inx')]
df = df['Ticker'].values.tolist()

sector_price_data = get_prices(df, data_type = 'Adj Close', start_date = start_date, 
                               force_update = True, end_date = None, 
                               account = SECURITY_ARRAY[0],
                               FOLDER_LOCATION = META_FILE_FOLDER_LOCATION)

inx_price_data = sector_price_data[[INX]].copy()
#inx_price_data = inx_price_data.rename(columns={inx_price_data[0]: INX })
inx_price_data['MA50_index']=inx_price_data[INX].rolling(50).mean()
inx_price_data['MA200_index']=inx_price_data[INX].rolling(200).mean()
#inx_price_data.index = pd.to_datetime(inx_price_data.index)

#  Function calls
Market_indicator_signal,mkt_ind = get_mkt_indicator(inx_price_data)
Average_return = _1_3_6_9_12_month_returns(sector_price_data)
FRED_data_mort = get_FRED_data('MORTGAGE30US','mort',start_date,0,1,FRED_API)
FRED_data_LEI = get_FRED_data('USSLIND','LEI',start_date,0,1,FRED_API)
FRED_data_inf = get_FRED_data('CPILFESL','inf',start_date,12,100,FRED_API)
FRED_data_10_2 = get_FRED_data('T10Y2Y','10_2',start_date,0,1,FRED_API)
FRED_data_RF = get_FRED_data('DTB3','RF',start_date,0,1,FRED_API)
FRED_data_ICSA = get_FRED_data('ICSA','UnEmp',start_date,52,1,FRED_API)

combined_12_mo_return = pd.concat([FRED_data_RF, FRED_data_inf,
                                  FRED_data_LEI, FRED_data_mort,
                                  FRED_data_10_2, FRED_data_ICSA], 
                                  axis=1, sort=False)

combined_12_mo_return = combined_12_mo_return.fillna(method='ffill')
combined_12_mo_return = combined_12_mo_return.fillna(method='bfill')

temp = bollinger_bands_graph(inx_price_data,INX);

#  Display
display = display_relative_strength(Average_return,
                                    Market_indicator_signal,
                                    mkt_ind,
                                    securities_file_location)

# S&P CHART
font = 1.0
inx_price_data = inx_price_data.reset_index()
Upper_bollinger = go.Scatter(x=inx_price_data['Date'],
                        y=inx_price_data['Upper Band'],
                                                     fill = "tonexty",
                        line=go.scatter.Line(color='gray', width = font*.0001),
                           opacity=0.8,
                           name='Bollinger',
                           text='Bollinger')

Lower_bollinger = go.Scatter(x=inx_price_data['Date'],
                        y=inx_price_data['Lower Band'],
                             fill = "tonexty",
                        line=go.scatter.Line(color='gray', width = font*.0001),
                           opacity=0.8,
                           name='Bollinger',
                           text='Bollinger')


price_data = go.Scatter(x=inx_price_data['Date'],
                        y=inx_price_data['spy'],
                        line=go.scatter.Line(color='black', width = font*3),
                           opacity=0.8,
                           name='spy',
                           text='price')

shrt_MA_data = go.Scatter(x=inx_price_data['Date'],
                        y=inx_price_data['MA50_index'],
                        line=go.scatter.Line(color='blue', width = font*2),
                           opacity=0.8,
                           name='MA50',
                           text='MA50')

long_MA_data = go.Scatter(x=inx_price_data['Date'],
                        y=inx_price_data['MA200_index'],
                        line=go.scatter.Line(color='red', width = font*2),
                           opacity=0.8,
                           name='MA200',
                           text='MA200')



layout = go.Layout(height=800, width=1400, font=dict(size=20),
                   title='S&P Market chart',
                    yaxis=dict(title='Prices', showspikes=True,
                              fixedrange = False), 
                   xaxis=dict(title='Date',
                           rangeslider=dict(visible=True), showspikes=True,
                           rangeselector=dict(
                           buttons=list([
                        dict(count=1, label="1m", step="month", stepmode="backward"),
                        dict(count=6, label="6m", step="month", stepmode="backward"),
                        dict(count=1, label="YTD", step="year", stepmode="todate"),
                        dict(count=1, label="1y", step="year", stepmode="backward"),
                        dict(count=6, label="5y", step="year", stepmode="backward"),
                        dict(step="all")
                ]))))


fig = go.Figure(data=[shrt_MA_data, long_MA_data, price_data, Upper_bollinger, Lower_bollinger], layout=layout)
iplot(fig)

# Econometric graphs
econ_data = combined_12_mo_return.reset_index()
econ = plotly_time_series(econ_data_labels,econ_data_titles,econ_data)
econ2 = plotly_time_series(econ_data_labels2,econ_data_titles2,econ_data)
Today the market was open and the 
sectors price data is NOT updated

Downloading price data ....
security : xlp
Downloading price data .... Finished

Downloading price data ....
security : xle
Downloading price data .... Finished

Downloading price data ....
security : xlv
Downloading price data .... Finished

Downloading price data ....
security : xli
Downloading price data .... Finished

Downloading price data ....
security : xlb
Downloading price data .... Finished

Downloading price data ....
security : xlk
Downloading price data .... Finished

Downloading price data ....
security : iyt
Downloading price data .... Finished

Downloading price data ....
security : xlu
Downloading price data .... Finished

Downloading price data ....
security : vcr
Downloading price data .... Finished

Downloading price data ....
security : vfh
Downloading price data .... Finished

Downloading price data ....
security : vnq
Downloading price data .... Finished

Downloading price data ....
security : spy
Downloading price data .... Finished

Last run: 2020-08-31 15:02:28.782852
The last 20 years of price data
Market analysis end timestamp : 16

The ascending mean return for 1,3,6,12mo ranking for 11 sectors are :
Ticker  Av_ret            category  Div yeild / yr  Div - exp  Expense ratio   EX_date_x Future_EX_date  Days_left     reg_Vol
   xlk    35.0          Technology            1.15       1.02           0.13  2020-06-22     2020-10-11       42.0   6069834.0
   vcr    30.7   Consumer Cyclical            1.13       1.03           0.10  2020-06-22     2020-10-24       55.0     73267.0
   spy    14.6         Large Blend            1.85       1.76           0.09  2020-06-19     2020-10-08       39.0  48588940.0
   iyt    13.6         Industrials            1.63       1.21           0.42  2020-06-15     2020-09-25       26.0    138796.0
   xlv    11.5              Health            2.27       2.14           0.13  2020-06-22     2020-10-11       42.0   5152583.0
   xlb    10.6   Natural Resources            2.14       2.01           0.13  2020-06-22     2020-10-11       42.0   2422091.0
   xlp     8.9  Consumer Defensive            2.76       2.63           0.13  2020-06-22     2020-10-11       42.0   6518753.0
   xli     6.1         Industrials            2.21       2.08           0.13  2020-06-22     2020-10-11       42.0  10206773.0
   xlu    -3.4           Utilities            3.44       3.31           0.13  2020-06-22     2020-10-11       42.0   7498524.0
   vfh    -4.3           Financial            2.97       2.87           0.10  2020-06-22     2020-10-24       55.0    354160.0
   vnq    -4.5         Real Estate            3.96       3.84           0.12  2020-06-25     2020-10-30       61.0   4513577.0
   xle   -19.7       Equity Energy           10.60      10.47           0.13  2020-06-22     2020-10-11       42.0  14469744.0

The S&P index is at a BUY condition : 14.2% above the 10mo SMA :
['LEI', 'MORT30YR', 'Unemployment']
['Risk-free rate', 'Core-CPI', '10y-2yR']